frame work that should work on ansi terminal
